package com.ahnu.tongue.service;

import java.io.File;
import java.io.IOException;
import java.util.Map;

public interface AIService {
    /**
     * 调用Python模型进行舌象分析
     * 
     * @param imageFile 舌象图片文件，不能为null
     * @return 分析结果，包含各项指标的键值对
     * @throws IllegalArgumentException 当图片文件为null或不存在时
     * @throws IOException 当图片文件读取失败时
     * @throws RuntimeException 当AI模型调用失败时
     */
    Map<String, String> analyzeTongueImage(File imageFile);

    /**
     * 调用DeepSeek生成健康建议
     * 
     * @param diagnosis 诊断结果文本，包含舌象特征描述
     * @return 基于诊断结果生成的健康建议
     * @throws IllegalArgumentException 当诊断结果为空时
     * @throws RuntimeException 当AI服务调用失败时
     */
    String generateHealthSuggestion(String diagnosis);
} 